// 按需导入extend函数
// 1.导入localize模块函数
import { extend, localize } from 'vee-validate'

// 导入全部规则
import * as rules from 'vee-validate/dist/rules'
// 2.导入要是用的语言
import zhCN from 'vee-validate/dist/locale/zh_CN.json'
// 3.对导入的语言做注册
localize({
  // 对象成员简易赋值
  zhCN
})
// 4.使用具体语言
localize('zhCN')

// rules是一个对象，内部有各个导入的成员
// Object.keys(rules) 返回该对象全部成员名称，以数组形式返回
Object.keys(rules).forEach(rule => {
  // extend是vee-validate固定函数，用作规则“注册”使用
  // extend(规则名称,规则内容)   注册规则
  // rule：代表各个规则名称
  // rules[rule]:代表规则内容
  // extend('requied',requied规则内容对象)  requied规则就注册好了
  extend(rule, rules[rule])
})
// 为校验手机号码，自定义规则
// phone：规则名称
// value:被校验的数据
extend('phone', {
  validate: value => {
    // return true 校验成功
    // return false 校验失败
    const reg = /^1[35789]\d{9}$/ // 正则校验手机号码
    return reg.test(value) // 正则匹配目标内容，返回boolean
  },
  // 校验失败的错误信息{—field—}党代表被校验项目的name名称
  message: '{_field_}格式不正确'
})
